fast-forward merge
「fast forward」というのは元々「早送りする」の意味
ビデオを早送りする際に、その先の部分にジャンプするする感じ
merge戦略がなにか変わるわけではない
以下の組み合わせの4パターンある
2つのbranchの関係が
包含している
https://gyazo.com/74f90d6fe35e6cb59a715751bb7c8209
青branchは、赤branchを包含している
包含していない
https://gyazo.com/776b53bde3a6c618b93816f9c1c4cde5
青branchは、赤branchを包含していない
mergeする際のoptionが
赤branchにて、git merge 青をしようとしている想定
ただ単純にポインタが青の部分まで進むだけ
https://gyazo.com/80b527ec52cd83d9b6e6e0014d925c38
これが早送りのイメージ
mergeに伴うcommitの作成もしない、ただ移動するだけ
https://gyazo.com/459bc2248a7a9231fd33412885e6bc6f
いわば、過剰なmerge commitが入る
包含していないとき
どっちを実行しても同じ結果になる
https://gyazo.com/cb62869c29b73a09bd47331493e4395f
「fast-forward」はmergeの文脈でしか使わない(?)
「fast-forwardな関係」みたいな言い方は違和感があるmrsekut.icon
言いたくなるのはわかる
「早送りするの関係」ってのが違和感
「fast-forwadな関係」というと状態に見える
「AとBが〇〇な関係だから、fast-forwad mergeを適用できる」と言いたいときに、
〇〇にfast-forwardを入れたくなる
「包含している」とかのほうがしっくり来る